package com.yxy.service;

import com.yxy.common.PageResult;
import com.yxy.pojo.dto.HotelBookingDTO;
import com.yxy.pojo.dto.HotelBookingPageQueryDTO;
import com.yxy.pojo.vo.HotelBookingVo;

public interface HotelBookingService {
    /**
     * 添加
     * @param hotelBookingDTO
     */
    void add(HotelBookingDTO hotelBookingDTO);

    /**
     * 分页查询
     * @param hotelBookingPageQueryDTO
     * @return
     */
    PageResult page(HotelBookingPageQueryDTO hotelBookingPageQueryDTO);

    /**
     * 分页查询用户酒店预约
     * @param hotelBookingPageQueryDTO
     * @return
     */
    PageResult pageQueryHotelBooking(HotelBookingPageQueryDTO hotelBookingPageQueryDTO);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    HotelBookingVo getHotelBookingById(Integer id);

    /**
     * 取消预约
     * @param hotelId
     * @param userId
     * @param bookingId
     */
    void cancelHotelBooking(Integer hotelId, Integer hotelSpecsId, Integer userId, Integer bookingId);

    /**
     * 使用预约
     * @param id
     * @return
     */
    String use(int id);

    /**
     * 导出预约
     * @return
     */
    String exportToExcel();
}
